package model


type Wallet struct {
	Gold int64 `json:"gold"`
	Diamond int64 `json:"diamond"`
	Score int64 `json:"score"`
}

//账号注册时的初始钱包信息
type WalletRegisterReq WalletAccount

//返回码+钱包账号
type WalletAccountResp struct {
	Code int `json:"code"`
	Wallet WalletAccount
}

type WalletRegisterResp WalletAccountResp

//获取钱包信息
type WalletGetReq struct {
	Uid int `json:"uid"`
}

type WalletGetResp WalletAccountResp

type WalletChangeReq struct {
	Uid int `json:"uid"`
	Value int64 `json:"value"` // 变化的数量
	Kind string `json:"kind"`  // 类型 register(注册） win（玩牌赢） buy（商城购买）
	Desc string `json:"desc"`  // 描述，可选
}

type WalletChangeResp struct {
	Code int `json:"code"` // 0 代表成功  -1 无此账号  -2 无此类型 -3 数量不够
	Uid int `json:"uid"`
	Value int64 `json:"value"`  //真实变化的数量
	Total int64 `json:"total"`  //变化后的总数
}

//增加金币
type WalletAddGoldReq WalletChangeReq
type WalletAddGoldResp WalletChangeResp

//减少金币 不足会失败
type WalletSubGoldReq WalletChangeReq
type WalletSubGoldResp WalletChangeResp

//减少金币 不足扣全部
type WalletSubMutableGoldReq WalletChangeReq
type WalletSubMutableGoldResp WalletChangeResp


////////////////////////
///操作钻石相关
////////////////////////
//增加钻石
type WalletAddDiamondReq WalletChangeReq
type WalletAddDiamondResp WalletChangeResp

//减少钻石 不足会失败
type WalletSubDiamondReq WalletChangeReq
type WalletSubDiamondResp WalletChangeResp

//减少钻石 不足扣全部
type WalletSubMutableDiamondReq WalletChangeReq
type WalletSubMutableDiamondResp WalletChangeResp


////////////////////////
///操作积分相关
////////////////////////
//增加积分
type WalletAddScoreReq WalletChangeReq
type WalletAddScoreResp WalletChangeResp

//减少积分 不足会失败
type WalletSubScoreReq WalletChangeReq
type WalletSubScoreResp WalletChangeResp

//减少积分 不足扣全部
type WalletSubMutableScoreReq WalletChangeReq
type WalletSubMutableScoreResp WalletChangeResp
